package demo03;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/*
 *  练习：
 *      使用日期时间相关的API，计算出一个人已经出生了多少天。
 *  分析：
 *      1. 使用Scanner类中的方法next，获取出生日期
 *      2. 使用DateFormat类中的方法parse，把字符串的出生日期解析为Date格式
 *      3. 把Date格式的出生日期转换为毫秒值
 *      4. 获取当前的日期，转换为毫秒值
 *      5. 当前日期的毫秒值-出生日期的毫秒值
 *      6. 把毫秒值的差值转换为天数(s/1000/60/60/24)
 */
public class Demo02Test {
    public static void main(String[] args) throws ParseException {
        System.out.println("请输出生日期：yyyy-MM-dd");
        String string = new Scanner(System.in).next(); // 获取一个时间字符串
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 规定时间字符串接收格式
        Date date = simpleDateFormat.parse(string); // 将字符串按指定格式解析为时间类型
        Date date2 = new Date(); // 获取当前时间的时间类型
        long l = date2.getTime() - date.getTime(); // 获取当前时间与出生日期的差值（毫秒值）
        l = l / 1000 / 60 / 60 / 24; // 将毫秒值转换为天数
        System.out.println(l);
    }
}
